import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '@/layout'
import ParentView from '@/components/ParentView';

/**
 * Note: 路由配置项
 *
 * hidden: true                   // 当设置 true 的时候该路由不会再侧边栏出现 如401，login等页面，或者如一些编辑页面/edit/1
 * alwaysShow: true               // 当你一个路由下面的 children 声明的路由大于1个时，自动会变成嵌套的模式--如组件页面
 *                                // 只有一个时，会将那个子路由当做根路由显示在侧边栏--如引导页面
 *                                // 若你想不管路由下面的 children 声明的个数都显示你的根路由
 *                                // 你可以设置 alwaysShow: true，这样它就会忽略之前定义的规则，一直显示根路由
 * redirect: noRedirect           // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
 * name:'router-name'             // 设定路由的名字，一定要填写不然使用<keep-alive>时会出现各种问题
 * meta : {
    noCache: true                // 如果设置为true，则不会被 <keep-alive> 缓存(默认 false)
    title: 'title'               // 设置该路由在侧边栏和面包屑中展示的名字
    icon: 'svg-name'             // 设置该路由的图标，对应路径src/assets/icons/svg
    breadcrumb: false            // 如果设置为false，则不会在breadcrumb面包屑中显示
  }
 */

// 公共路由
export const constantRoutes = [{
		path: '',
		component: Layout,
		redirect: 'index',
		children: [{
			path: 'index',
			component: (resolve) => require(['@/views/index'], resolve),
			name: '首页',
			meta: {
				title: '首页',
				icon: 'dashboard',
				noCache: true,
				affix: true
			}
		}]
	},
	//报警历史进行中的router跳转
	{
		path: '/alarmhistory',
		component: Layout,
		hidden: true,
		redirect: 'noredirect',
		children: [
			//全部
			{
				path: 'alldetail',
				component: (resolve) => require(['@/views/system/alarmhistory/index'], resolve),
			},
			//待处理
			{
				path: 'pending',
				component: (resolve) => require(['@/views/system/alarmhistory/pending'], resolve),
			},
			//进行中
			{
				path: 'processing',
				component: (resolve) => require(['@/views/system/alarmhistory/processing'], resolve),
			},
			//待回访
			{
				path: 'revisited',
				component: (resolve) => require(['@/views/system/alarmhistory/revisited'], resolve),

			},
			//已完成
			{
				path: 'completed',
				component: (resolve) => require(['@/views/system/alarmhistory/completed'], resolve),

			},
			//已拒绝
			{
				path: 'rejected',
				component: (resolve) => require(['@/views/system/alarmhistory/rejected'], resolve),

			},
		]
	},
	{
		path: '/prizesetting',
		component: Layout,
		hidden: true,
		redirect: 'noredirect',
		children: 
			[
				{path: '/prizesetting',
				component: (resolve) => require(['@/views/system/prizesetting/index'], resolve),
				name: 'prizesetting',
				meta: {
					title: '考试奖品设置'
				},
				}
			]
		
	},
	{
		path: '/Info',
		component: Layout,
		hidden: true,
		redirect: 'noredirect',
		children: 
			[
				{path: '/Info',
				component: (resolve) => require(['@/views/system/prizesetting/info'], resolve),
				name: 'Info',
				meta: {
					title: '设置选择奖品'
				},
				}
			]
		
	},
	{
		path: '/branchexamination',
		component: Layout,
		hidden: true,
		redirect: 'noredirect',
		children: 
			[
				{path: '/branchexamination',
				component: (resolve) => require(['@/views/system/branchanswer/index'], resolve),
				name: 'branchexamination',
				meta: {
					title: '分院考试情况查看'
				},
				}
			]
		
	},
	{
		path: '/branchdetail',
		component: Layout,
		hidden: true,
		redirect: 'noredirect',
		children: 
			[
				{path: '/branchdetail',
				component: (resolve) => require(['@/views/system/branchanswer/branchdetail'], resolve),
				name: 'branchdetail',
				meta: {
					title: '学院学生考试详情'
				},
				}
			]
		
	},
	{
		path: '/winningsecurityexam',
		component: Layout,
		hidden: true,
		redirect: 'noredirect',
		children: 
			[
				{path: '/winningsecurityexam',
				component: (resolve) => require(['@/views/system/winningsecurityexam/index'], resolve),
				name: 'winningsecurityexam',
				meta: {
					title: '安全考试中奖'
				},
				}
			]
		
	},
	{
		path: '/setpaper',
		component: Layout,
		hidden: true,
		redirect: 'noredirect',
		children: 
			[
				{path: '/setpaper',
				component: (resolve) => require(['@/views/system/testpaperinformation/index'], resolve),
				name: 'setpaper',
				meta: {
					title: '安全考试试卷'
				},
				}
			]
		
	},
	{
		path: '',
		component: Layout,
		redirect: 'pending',
		hidden: true,
		children: [{
			path: 'pending',
			component: (resolve) => require(['@/views/system/alarmhistory/pending'], resolve),
			name: 'pending',
			meta: {
				title: '报警案件'
			}
		}]
	},
	{
		path: '',
		component: Layout,
		redirect: 'processing',
		hidden: true,
		children: [{
			path: 'processing',
			component: (resolve) => require(['@/views/system/alarmhistory/processing'], resolve),
			name: 'processing',
			meta: {
				title: '报警处理中'
			}
		}]
	},
	{
		path: '',
		component: Layout,
		redirect: 'revisited',
		hidden: true,
		children: [{
			path: 'revisited',
			component: (resolve) => require(['@/views/system/alarmhistory/revisited'], resolve),
			name: 'revisited',
			meta: {
				title: '待回访案件'
			}
		}]
	},
	{
		path: '',
		component: Layout,
		redirect: 'completed',
		hidden: true,
		children: [{
			path: 'completed',
			component: (resolve) => require(['@/views/system/alarmhistory/completed'], resolve),
			name: 'completed',
			meta: {
				title: '已完成案件'
			}
		}]
	},
	{
		path: '/redirect',
		component: Layout,
		hidden: true,
		children: [{
				path: '/redirect/:path(.*)',
				component: (resolve) => require(['@/views/redirect'], resolve)
			},
			{
				path: '/advertisementinfo',
				name: '广告设置',
				meta: {
					title: '广告信息'
				},
				component: (resolve) => require(['@/views/system/advertisementinfo/index.vue'], resolve),
				breadcrumb: true,
			},
			{
				path: '/prizeinfo',
				name: '奖品设置',
				meta: {
					title: '奖品设置'
				},
				component: (resolve) => require(['@/views/system/prizeinfo/index.vue'], resolve),
				breadcrumb: true,
			},

		]
	},
	{
		path: '/login',
		component: (resolve) => require(['@/views/login'], resolve),
		hidden: true
	},
	{
		path: '/404',
		component: (resolve) => require(['@/views/error/404'], resolve),
		hidden: true
	},
	{
		path: '/401',
		component: (resolve) => require(['@/views/error/401'], resolve),
		hidden: true
	},
	{
		path: '/user',
		component: Layout,
		hidden: true,
		redirect: 'noredirect',
		children: [{
			path: 'profile',
			component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
			name: 'Profile',
			meta: {
				title: '个人中心',
				icon: 'user'
			}
		}]
	},
	{
		path: '/dict',
		component: Layout,
		hidden: true,
		children: [{
			path: 'type/data/:dictId(\\d+)',
			component: (resolve) => require(['@/views/system/dict/data'], resolve),
			name: 'Data',
			meta: {
				title: '字典数据',
				icon: ''
			}
		}]
	},
	{
		path: '/job',
		component: Layout,
		hidden: true,
		children: [{
			path: 'log',
			component: (resolve) => require(['@/views/monitor/job/log'], resolve),
			name: 'JobLog',
			meta: {
				title: '调度日志'
			}
		}]
	},
	{
		path: '/gen',
		component: Layout,
		hidden: true,
		children: [{
			path: 'edit/:tableId(\\d+)',
			component: (resolve) => require(['@/views/tool/gen/editTable'], resolve),
			name: 'GenEdit',
			meta: {
				title: '修改生成配置'
			}
		}]
	}
]

export default new Router({
	mode: 'history', // 去掉url中的#
	scrollBehavior: () => ({
		y: 0
	}),
	routes: constantRoutes
})
